#include <stdio.h> 
#include <stdlib.h>
#include <unistd.h>

int g_val = 100;
int main()
{
  pid_t id = fork();
  int flag = 0; 
  if(id == 0)
  {
    //child
    while(1)
    {
      printf("我是子进程：%d,ppid：%d,g_val:%d,&g_val:%p\n\n",getpid(),getppid(),g_val,&g_val);
      sleep(1);
      flag++;
      if(flag == 5)
      {
        g_val = 200;
        printf("我是子进程，全局数据我已经修改了，用户请注意查看\n");
      }
    }
  }
  else
  {
    //parent 
    while(1)
    {
      printf("我是父进程：%d,ppid：%d,g_val:%d,&g_val:%p\n\n",getpid(),getppid(),g_val,&g_val);
      sleep(1); 
    }
  }
  return 0;
}
